PostgreSQL 操作系统准备

1 背景知识

本文主要介绍在 LInux 上准备 PostgreSQL 的安装环境。

2 执行优化脚本

sh optimize_system_conf.sh 

关于一键优化脚本的具体说明请参见:optimize_system_conf
脚本说明:

  1. 创建kingbase 用户并 密码永不过期
  2. 配置 LInux 内核参数
  3. 配置文件打开数和进程打开数。
  4. 检查文件打开数和进程打开数。
  5. 关闭 Remove IPC 功能。
  6. 配置 sshd 超时 断开会话的问题,并允许 root 用户登录,还有一些提高连接速度的一些参数。
  7. 关闭操作系统自动维护任务。
  8. 关闭 SEliux MAC功能。
  9. 关闭防火墙。
  10. 关闭Uos 的激活程序。

3 创建相关目录

#root>
mkdir -p  /soft
mkdir -p /usr/local/pgsql
chown postgres:postgres /soft  /usr/local/pgsql

4 配置用户环境变量

su - postgres
#postgresql>
cat >> ~/.bash_profile << EOF
export PGPORT=5432
export PGHOME=/usr/local/pgsql
export PATH=\$PGHOME/bin:\$PATH
export PGDATA=\$PGHOME/data
export LD_LIBRARY_PATH=\$PGHOME/lib
export LANG=en_US.UTF-8
EOF
source ~/.bash_profile

5 安装软件依赖包

5.1 最小依赖包

#root>
dnf install gcc gcc-c++ zlib-devel readline-devel wget psmisc tcl tcl-devel tk-devel -y 

5.2 全部依赖包

5.2.1 PG12

#root>
dnf install gcc gcc-c++ zlib-devel readline-devel  psmisc perl-ExtUtils-Embed pam-devel libxml2-devel libxslt-devel openldap-devel python39-devel  python2-devel openssl-devel cmake  tcl tcl-devel tk-devel libicu-devel bash-completion systemd-devel bison flex docbook-dtds docbook-style-xsl  libxslt   lz4-devel  libzstd-devel wget git vim -y  

5.2.2 PG15

#root>
dnf install gcc gcc-c++ zlib-devel readline-devel  psmisc perl-ExtUtils-Embed pam-devel libxml2-devel libxslt-devel openldap-devel python39-devel  python2-devel openssl-devel cmake  tcl tcl-devel tk-devel libicu-devel bash-completion systemd-devel bison flex docbook-dtds docbook-style-xsl  libxslt   lz4-devel  libzstd-devel wget git vim krb5-devel libuuid-devel  perl-App-cpanminus.noarch -y  
Warning

这里用python2 还是python3 ,官网两种都支持。所以都安装。

5.2.3 PG16

#root>
dnf install gcc gcc-c++ zlib-devel readline-devel  psmisc perl-ExtUtils-Embed pam-devel libxml2-devel libxslt-devel openldap-devel python3-devel  openssl-devel cmake  tcl tcl-devel tk-devel libicu-devel bash-completion systemd-devel bison flex docbook-dtds docbook-style-xsl  libxslt   lz4-devel  libzstd-devel wget git vim  -y  

5.2.4 PG17

#root>
dnf install gcc gcc-c++ zlib-devel readline-devel  psmisc perl-ExtUtils-Embed pam-devel libxml2-devel libxslt-devel openldap-devel python3-devel  openssl-devel cmake  tcl tcl-devel tk-devel libicu-devel bash-completion systemd-devel bison flex docbook-dtds docbook-style-xsl  libxslt   lz4-devel  libzstd-devel  krb5-devel libuuid-devel perl-FindBin wget git vim  -y  

5.3 LLVM JIT 环境配置

想要让postgresql 支持JIT ,请配置 LLVM 环境。

6 配置中文环境(option)

Linux 语言环境 安装中文语言包

7 源码下载

7.1 PG12

#postgres> 
cd /soft
wget https://ftp.postgresql.org/pub/source/v12.19/postgresql-12.19.tar.gz

7.2 PG15

#postgres> 
cd /soft
wget https://ftp.postgresql.org/pub/source/v15.7/postgresql-15.7.tar.gz

7.3 PG16

#postgres> 
cd /soft
wget https://ftp.postgresql.org/pub/source/v16.3/postgresql-16.3.tar.gz

7.4 Lastest

#postgres>
cd /soft
git clone git://git.postgresql.org/git/postgresql.git
git tag
git checkout -b REL_17_RC1
git branch 
* REL_17_RC1
  master
Note

到此为止打快照为 DB_INSTALL_ENV